-
-
Notifications
You must be signed in to change notification settings - Fork 13.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
magma: init 2.7.1; migrate to cudaPackages #217410
Conversation
e9fe740
to
abedeae
Compare
Result of 2 packages failed to build:
2 packages built:
|
f60a65f
to
f79dcdf
Compare
bb7b6ce
to
1f1ed0b
Compare
Result of 5 packages built:
|
cc @NixOS/cuda-maintainers |
1f1ed0b
to
812324f
Compare
Rebased and now introducing 2.7.1. Builds just fine on CUDA. 2.7.1, like 2.7.0, fails on ROCm -- and in the same way, when linking. 2.6.2 remains the default for ROCm. |
Will rewrite releases.json in nix later tonight, time permitting. |
812324f
to
277b772
Compare
Now with 50% more Nix! |
277b772
to
0918023
Compare
Running |
Result of 5 packages built:
|
0918023
to
e5f4d72
Compare
And again after rebasing on master |
e5f4d72
to
434c3ea
Compare
Result of 5 packages built:
|
Wahoo no failures! |
Result of 5 packages built:
|
LGTM thanks @ConnorBaker ! |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/tweag-nix-dev-update-45/26397/1 |
Description of changes
Adds magma 2.7.1 and makes it the default.
AMD's HIP doesn't work on anything newer than 2.6.2 -- something causes a failure when trying to link
libmagma.so
-- so 2.6.2 remains the default formagma-hip
.Note that this PR includes a move to using a
releases.json
. This is done mostly to remove boilerplate from the Nix derivation and avoid clutter fromsupportedGpuTargets
.I've run into this problem elsewhere, but it's important that packages which target specific GPU architectures are aware of the architectures they support. The architectures available to this package via
hip.gpuTargets
,cudaFlags.cudaRealArchs
, and thegpuTargets
argument can cause frustrating build failures if they are not sanitized. Unfortunately, in this case that meant looking at Magma's CMakeLists.txt to find out which architectures are supported. For both CUDA and ROCm, I decided to use the SM and GFX names respectively, because Magma allows more granular support than when building for entire generations.Following in the footsteps of @SomeoneSerge's work (#168745), migrate to
cudaPackages
.Updated torch to reference the new
passthru
attributecudaPackages
instead ofcudatoolkit
.Closure before:
/nix/store/mcl5f361f3zix9bymp7rx9xcml0b2g4y-magma-2.6.2 518.6M 5.4G
Closure after (for a previous version of this PR targeting 2.7.0; the size different is still as large):
/nix/store/jb024nl0mvvrrsxw06ha1s96wsx69993-magma-2.7.0 389.5M 2.3G
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Failures
The below is kept for posterity; it was my attempt at troubleshooting AMD support prior to deciding to keep a copy of 2.6.2.
Linking CXX shared library lib/libmagma.so
.And so we do a rough binary search through the commit history of Magma to find out when it broke :(
EDIT: What a headache. I'll split the package so CUDA gets 2.7.0 and HIP can stay on 2.6.2.
2023-02-10
revert api changes for the batch gemv routines that accept pointer arrays: https://bitbucket.org/icl/magma/commits/1814c2518a76b81d75e5987d35797305ef2c9f4d.2022-10-28
update release note: https://bitbucket.org/icl/magma/commits/e96d4c97be78a8b19b273dbaa99955d6529e539a.2022-10-17
bug fix: https://bitbucket.org/icl/magma/src/001df2f69f8c25f4e722a6ff997a2aa69da0d4e0.2022-10-11
unnecessary includes: https://bitbucket.org/icl/magma/commits/e8a673d27c7e927ec8eda0c2059b7a213baa6e4e.2022-06-26
update notes for next release: https://bitbucket.org/icl/magma/src/24410113e61fc72c2cbc039c2cef9aa7dc815a92.2022-06-24
allow launch bounds for CUDA: https://bitbucket.org/icl/magma/src/849bf8e00e929da7699a02424466e127a883668f.2022-06-23
Merged in master (pull request#21
): https://bitbucket.org/icl/magma/src/9e0b130afaf3fe635441cba351555505c9d68e28.Makefile:357: magmablas_hip/Makefile.src: No such file or directory
.2022-05-24
call the new gemm prototype with version 2: https://bitbucket.org/icl/magma/src/ec35ab142120a1a067f1a77f5392b70f5367e8a9.2022-05-24
minor: https://bitbucket.org/icl/magma/src/5eec59630f963a46bff59cbab6f39610fc9c610b.2022-04-20
potential fix for failures at very large matrix sizes: https://bitbucket.org/icl/magma/commits/d998fcbb94d9046ec98ae93757010a1472902d54.